<!doctype html>
<html>
  <head>
    <title>Click event is a PointerEvent</title>
    <link rel="help" href="https://github.com/w3c/pointerevents/pull/317">
    <script src="/resources/testharness.js"></script>
    <script src="/resources/testharnessreport.js"></script>
  </head>
  <body>
    <div id='clicktarget'></div>
    <div id="log"></div>
    <script type="text/javascript">
    var clicktarget = document.querySelector("#clicktarget");
    var t = async_test("synthetic click event is a PointerEvent");
    clicktarget.addEventListener('click', t.step_func(function (e) {
      assert_equals(e.constructor, window.PointerEvent, "Click is a PointerEvent");
      assert_true(e instanceof window.PointerEvent, "Click is an instance of PointerEvent");
      // Since this click is not generated by a pointing device, pointerId and
      // pointerType must have default values (0 and empty string)
      assert_equals(e.pointerId, 0, "Click's pointerId has the default value of 0");
      assert_equals(e.pointerType, "", "Click's pointerType has the default value of empty string");
      assert_equals(e.screenX, 0, "Click's screenX coordinate should not be set.");
      assert_equals(e.screenY, 0, "Click's screenY coordinate should not be set.");
      assert_equals(e.clientX, 0, "Click's clientX coordinate should not be set.");
      assert_equals(e.clientY, 0, "Click's clientY coordinate should not be set.");
      assert_equals(e.detail, 0, "element.click click event should not populate click count");
      t.done();
    }));
    document.querySelector('#clicktarget').click();
    </script>
  </body>
</html>
